// component/slider/slider.js
var speedSliderY;       // 速度标尺0位置的X坐标
Component({
  /**
   * 组件的初始数据
   */
  data: {
    left2: 0,                  // 调节马达速度滑块实时位置
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 自定义滑动条--马达速度
    touchstart3(e) {
      let that = this
      // 获取滑块起点位置speedSliderY（每一次移动的起点位置）
      // 垂直方向，则e.changedTouches[0]取pageY，若是水平方向则取pageX
      // 若同一个页面中有同时操作两个滑动条的情况（例如：作为遥控车的滑杆），则要区分e.changedTouches的取值
      // 当只操作一个滑杆时，则直接取值e.changedTouches[0]（当前e.changedTouches也只有一个值）
      // 当同时操作两个滑杆时，此时e.changedTouches会有两个值，需要我们自行区分哪个对应哪个滑杆，可通过pageY的值来区分哪个对应左滑杆，哪个对应右滑杆
      // 一般当需要同时操作两个滑杆时，用于遥控车的遥控滑杆，是横屏操作的，所以左滑杆的pageY要比右滑杆的pageY值小很多，可根据这个进行判断区分
      // 下面touchmove同理也要进行e.changedTouches取值的区分
      speedSliderY = e.changedTouches[0].pageY - e.currentTarget.offsetLeft
    },
    touchmove3(e) {
      let that = this

      let left
      // 垂直方向，则e.changedTouches[0]取pageY，若是水平方向则取pageX
      left = (e.changedTouches[0].pageY - speedSliderY) * 2

      // 限制滑块可滑动长度
      if (left < 0) {
        left = 0
      } else if (left > 400) {
        left = 400
      }

      // 总长400，除以50，分成8段，left：当前位于第几段。Math.ceil()向下取整，只要有小数则在整数部分加1
      left = Math.ceil(left / 50)
      that.setData({
        left2: left * 50
      })

      // value:滑动条当前值，这里left * 5，表示步长为5，可自由设置步长
      let value = left * 5;
      that.setData({
        speed: value
      })

    },
  }
})
